24. OpenCV 和创建自定义过滤器

OpenCV

在编写卷积核/过滤器之前,我先介绍一个新库,在处理计算机视觉任务(例如图像分类)时,我们会用到这个库:OpenCV!

OpenCV logo

OpenCV logo

OpenCV 是一个计算机视觉和机器学习软件库,包括很多常见的图像分析算法,可以帮助我们构建很多很棒的自定义计算机视觉应用。首先,它提供了一系列工具,可以帮助我们处理图像和选择感兴趣部分。该库在学术界和行业内应用广泛,从 OpenCV 官网可以看到,有很多知名企业都会使用该库:“不仅 Google、Yahoo、Microsoft、Intel、IBM、Sony、Honda、Toyota 等著名企业,Applied Minds、VideoSurf 和 Zeitera 等初创企业也经常使用 OpenCV。”

我们将在下个 notebook 中演示如何通过 import cv2 导入 OpenCV,并使用它创建和应用图像过滤器。注意观摩学习!

Notebook:自定义过滤器

下个 notebook 是 custom_filters.ipynb

打开 notebook 的方法:

  • 直接在课堂里在线打开(推荐)。
  • Github 克隆代码库,再打开 convolutional-neural-networks > conv-visualization 文件夹里的 notebook custom_filters.ipynb。你可以使用 git clone https://github.com/udacity/deep-learning-v2-pytorch.git 下载代码库,或从此链接下载归档文件。

说明

  • 定义自定义卷积过滤器,并将它们应用到道路图像上
  • 定义检测水平边或垂直边的过滤器

此 notebook 是一个实验 notebook,你可以在其中尝试不同的过滤器大小和权重,看看过滤后的图像是什么样的图像。